Proximity sensor in a computer input device

ABSTRACT

An input device for a computer system includes an exterior surface and a touch sensor located on the exterior surface. The touch sensor is adapted to generate an electrical signal when a user touches the touch sensor. The electrical signal contains touch information that is the same each time the user touches the touch sensor regardless of where the user&#39;s touch occurs on the touch sensor. The input device also includes an input generator capable of generating input information sent to the computer system. The input information includes at least a depressible key&#39;s state, a depressible button&#39;s state, sound information, or movement information.

REFERENCE TO RELATED APPLICATIONS

[0001] The present application is related to a U.S. patent applicationfiled on even date herewith entitled “METHOD OF INTERACTING WITH ACOMPUTER USING A PROXIMITY SENSOR IN A COMPUTER INPUT DEVICE”,identified by attorney docket number M61.12-00. The present invention isalso related to a U.S. patent application filed on even date herewithentitled “A TECHNIQUE FOR IMPLEMENTING A TWO-HANDED DESKTOP USERINTERFACE FOR A COMPUTER”. The present application is also related to aU.S. patent application filed on even date herewith entitled “INPUTDEVICE WITH FORWARD/BACKWARD CONTROL”, identified by attorney docketnumber M61.12-0083.

BACKGROUND OF THE INVENTION

[0002] The present invention relates to computerized systems. Inparticular, the present invention relates to input devices forcomputerized systems.

[0003] Computerized systems receive input signals from input devicessuch as keyboards, mice, joysticks, game pads, touch pads, track balls,and headsets. These input devices create input signals using touchsensors, transducers, or switches. Switches are typically found in thebuttons of mice, joysticks, and game pads, as well as in the keys ofkeyboards. Transducers are found in mice and track balls and createelectrical signals based on the movement of balls in those devices.Transducers are also found in headsets where they convert speech signalsinto electrical signals. Touch sensors are found in touch pads andprovide an electrical signal when the user contacts the touch pad thatincludes the location within the touch pad where contact was made.

[0004] Although it is desirable to increase the amount of informationthat an input device can provide to the computer, the number oftransducers and switches that can be added to an input device is limitedby the user's ability to remember all of the functions that a particulartransducer or switch performs. In addition, the number of transducersand switches that can be added to an input device is limited by theaverage user's dexterity and their physical ability to manipulate theadded controls.

SUMMARY OF THE INVENTION

[0005] An input device for a computer system includes an exteriorsurface and a touch sensor located on the exterior surface. The touchsensor is adapted to generate an electrical signal when a user touchesthe touch sensor. The electrical signal contains touch information thatis the same each time the user touches the touch sensor regardless ofwhere the user's touch occurs on the touch sensor. The input device alsoincludes an input generator capable of generating input information sentto the computer system. The input information includes at least adepressible key's state, a depressible button's state, soundinformation, or movement information.

[0006] In the various embodiments, the input device can include a mouse,a keyboard, a joystick, a game pad, a headset, a remote control for anInternet set-top system, and a remote control for a television.

[0007] In various other embodiments, multiple touch sensors are locatedon an input device in a variety of locations. In some embodiments, themultiple touch sensor provide sufficient information to indicate how theuser is holding the input device and with which hand the user is holdingthe input device.

BRIEF DESCRIPTION OF THE DRAWINGS

[0008]FIG. 1 is a block diagram of a computer system of the presentinvention.

[0009]FIG. 2 is a more detailed block diagram of one embodiment of aninput device of the present invention.

[0010]FIG. 3 is a perspective view of a headset of the presentinvention.

[0011]FIG. 4A is a perspective view of a mouse of the present invention.

[0012]FIG. 4B is a bottom view of the mouse of FIG. 4A.

[0013]FIG. 4C is a perspective view of a circuit board of the mouse ofFIG. 4A.

[0014]FIG. 5 is a top view of another embodiment of a mouse of thepresent invention.

[0015]FIG. 6A is a left side view of another embodiment of a mouse ofthe present invention.

[0016]FIG. 6B is a left side view of another embodiment of a mouse ofthe present invention.

[0017]FIG. 6C is a right side view of another embodiment of a mouse ofthe present invention.

[0018]FIG. 6D is a right side view of another embodiment of a mouse ofthe present invention.

[0019]FIGS. 7A and 7B are a left side view and a top view, respectively,of another embodiment of a mouse of the present invention.

[0020]FIGS. 8A and 8B are a left side view and a top view, respectively,of another embodiment of a mouse of the present invention.

[0021]FIGS. 9A, 9B and 9C are a left side view, a top view, and a rightside view, respectively, of another embodiment of a mouse of the presentinvention.

[0022]FIGS. 10A, 10B, 10C, 10D, 10E, 10F, 10G, and 10H, are top views ofdifferent embodiments for a mouse button under the present invention.

[0023]FIG. 11A is a top view of another embodiment of a mouse under thepresent invention.

[0024]FIG. 11B is a top view of another embodiment of a mouse under thepresent invention.

[0025]FIGS. 12A and 12B are right side views of different embodiments ofmice under the present invention.

[0026]FIGS. 13A, 13B, 13C, and 13D are left side views of differentembodiments of mice under the present invention.

[0027]FIGS. 14A, 14B, 14C, and 14D are top views of differentembodiments of mice under the present invention showing touch sensorproximate a wheel on a mouse.

[0028]FIG. 15 is a perspective view of a track ball of the presentinvention.

[0029]FIG. 16 is a perspective view of a joystick of the presentinvention.

[0030]FIG. 17 is a perspective view of a game pad of the presentinvention.

[0031]FIG. 18 is a perspective view of a keyboard of the presentinvention.

[0032]FIG. 19 is a more detailed block diagram of the computer of FIG.1.

[0033]FIG. 20 is a screen display as it appears before an input deviceof the present invention is touched.

[0034]FIG. 21 is an image of a screen display after an input device ofthe present invention has been touched.

[0035]FIG. 22 is an image of a screen display showing a pull-down menuactivated through the present invention.

[0036]FIG. 23 is an image of a screen display showing a second pull-downmenu opened through the present invention.

[0037]FIG. 24 is an image of a screen display showing an item selectedin a pull-down menu through the process of the present invention.

[0038]FIG. 25 is an image of a screen display showing a radial menu.

[0039]FIGS. 26A, 26B, 26C, show animation around a cursor in response toan input device of the present invention being touched.

[0040]FIG. 27 is an image of a screen saver.

[0041]FIG. 28 is an image of a screen display showing ink trails ofdifferent widths produced by the input device of the present invention.

[0042]FIG. 29 is an image of a screen display showing a cursor in ahypertext link.

[0043]FIG. 30 is an image of a screen display showing a web browser thatincludes a current page.

[0044]FIG. 31 is an image of a screen display showing a web browser thatincludes a past page.

[0045]FIG. 32 is an image of a screen display showing a web browser thatincludes a next page.

[0046]FIG. 33 is a top view of an Internet set-top remote control.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

[0047]FIG. 1 and the related discussion are intended to provide a brief,general description of a suitable computing environment in which theinvention may be implemented. Although not required, the invention willbe described, at least in part, in the general context ofcomputer-executable instructions, such as program modules, beingexecuted by a personal computer. Generally, program modules includeroutine programs, objects, components, data structures, etc. thatperform particular tasks or implement particular abstract data types.Moreover, those skilled in the art will appreciate that the inventionmay be practiced with other computer system configurations, includinghand-held devices, multiprocessor systems, microprocessor-based orprogrammable consumer electronics, network PCs, minicomputers, mainframecomputers, and the like. The invention may also be practiced indistributed computing environments where tasks are performed by remoteprocessing devices that are linked through a communications network. Ina distributed computing environment, program modules may be located inboth local and remote memory storage devices.

[0048] With reference to FIG. 1, an exemplary system for implementingthe invention includes a general purpose computing device in the form ofa conventional personal computer 20, including a processing unit (CPU)21, a system memory 22, and a system bus 23 that couples various systemcomponents including the system memory 22 to the processing unit 21. Thesystem bus 23 may be any of several types of bus structures including amemory bus or memory controller, a peripheral bus, and a local bus usingany of a variety of bus architectures. The system memory 22 includesread only memory (ROM) 24 and random access memory (RAM) 25. A basicinput/output (BIOS) 26, containing the basic routine that helps totransfer information between elements within the personal computer 20,such as during start-up, is stored in ROM 24. The personal computer 20further includes a hard disk drive 27 for reading from and writing to ahard disk (not shown), a magnetic disk drive 28 for reading from orwriting to removable magnetic disk 29, and an optical disk drive 30 forreading from or writing to a removable optical disk 31 such as a CD ROMor other optical media. The hard disk drive 27, magnetic disk drive 28,and optical disk drive 30 are connected to the system bus 23 by a harddisk drive interface 32, magnetic disk drive interface 33, and anoptical drive interface 34, respectively. The drives and the associatedcomputer-readable media provide nonvolatile storage of computer readableinstructions, data structures, program modules and other data for thepersonal computer 20.

[0049] Although the exemplary environment described herein employs thehard disk, the removable magnetic disk 29 and the removable optical disk31, it should be appreciated by those skilled in the art that othertypes of computer readable media which can store data that is accessibleby a computer, such as magnetic cassettes, flash memory cards, digitalvideo disks, Bernoulli cartridges, random access memories (RAMS), readonly memory (ROM), and the like, may also be used in the exemplaryoperating environment.

[0050] A number of program modules may be stored on the hard disk,magnetic disk 29, optical disk 31, ROM 24 or RAM 25, including anoperating system 35, one or more application programs 36, other programmodules 37, program data 38, and device driver 60. The device driverprocess commands and information entered by a user through an inputdevice 43, which can include a keyboard, a pointing device, amicrophone, a headset, a track ball, a joystick, a game pad, or thelike. Under the present invention, at least one of the input devicesincludes both a touch sensor 40 and a movement transducer 42. Touchsensor 40 is capable of generating a signal that indicates when the useris touching the input device. Movement transducer 42 is capable ofgenerating a signal that indicates when a user causes part of the inputdevice to move. The signals generated by touch sensor 40 and movementtransducer 42 are passed along a conductor connected to the processingunit 21 through a serial port interface 46 that is coupled to the systembus 23, but may be connected by other interfaces, such as a sound card,a parallel port, a game port or a universal serial bus (USB).

[0051] A monitor 47 or other type of display device is also connected tothe system bus 23 via an interface, such as a video adapter 48. Inaddition to the monitor 47, personal computers may typically includeother peripheral output devices, such as a speaker 45 and printers (notshown).

[0052] The personal computer 20 may operate in a networked environmentusing logic connections to one or more remote computers, such as aremote computer 49. The remote computer 49 may be another personalcomputer, a hand-held device, a server, a router, a network PC, a peerdevice or other network node, and typically includes many or all of theelements described above relative to the personal computer 20, althoughonly a memory storage device 50 has been illustrated in FIG. 1. Thelogic connections depicted in FIG. 1 include a local area network (LAN)51 and a wide area network (WAN) 52. Such networking environments arecommonplace in offices, enterprise-wide computer network intranets, andthe Internet.

[0053] When used in a LAN networking environment, the personal computer20 is connected to the local area network 51 through a network interfaceor adapter 53. When used in a WAN networking environment, the personalcomputer 20 typically includes a modem 54 or other means forestablishing communications over the wide area network 52, such as theInternet. The modem 54, which may be internal or external, is connectedto the system bus 23 via the serial port interface 46. In a networkenvironment, program modules depicted relative to the personal computer20, or portions thereof, may be stored in the remote memory storagedevices. It will be appreciated that the network connections shown areexemplary and other means of establishing a communications link betweenthe computers may be used. For example, a wireless communication linkmay be established between one or more portions of the network.

[0054]FIG. 2 is an expanded block diagram of a portion of one embodimentof an input device 43 of FIG. 1. Input device 43 includes an array offour touch sensors 100, 102, 104, and 106. Each of the sensors producesan electrical signal along a respective conductor 108, 110, 112, and114, which are connected to an analog-to-digital converter andmuliplexer 116. Touch sensors 100, 102, 104, and 106, generate theirelectrical signals based on actual contact between the user and aportion of the sensor or based on extreme proximity between the user andthe sensor. Those touch sensors that rely on contact are referred to ascontact sensors and those that rely on proximity are referred to asproximity sensors. In the context of this application, a touch sensor istouched when it is contacted in the case of contact sensors or when theuser is sufficiently proximate the sensor in the case of proximitysensors.

[0055] In some contact sensor embodiments, a touch sensor includes aconductive film available from ChemTronics that has a capacitance thatchanges when it is touched. This sensor also includes a capacitivemeasuring circuit that generates an electrical signal based on thechange in capacitance of the conductive film. Those skilled in the artwill recognize that other contact sensor technologies are available suchas photodiodes, piezoelectric materials, and capacitive pressuresensors. Any of these sensors may be used within the context of thepresent invention. In one proximity sensor embodiment, the touch sensoruses reflected light from an LED to detect when the user is proximatethe sensor. A chip used to drive the LED and sense the reflected lightunder this embodiment is produced by Hamamatsu Corporation ofBridgewater, N.J. Other proximity sensor embodiments use changes inelectric or magnetic fields near the input device to determine when theuser is proximate the device.

[0056] In embodiments of the present invention, the touch sensorsprovide the same information regardless of where on the touch sensor theuser touches the input device or the portion of the sensor that the useris proximate. Thus, a given touch sensor does not provide locationinformation that would indicate where the user made contact within thattouch sensor or where the user came closest to the touch sensor withinthe touch sensor. Thus, under the present invention, the touch sensorsdecouple touch data from position data.

[0057] This distinguishes the present invention from touch pads, touchscreens and touch tablets of the prior art. In all of these priordevices, one cannot specify positional data without touching the device,nor can one touch the device without specifying a position. Hence, touchsensing and position sensing are tightly coupled in these prior devices.

[0058] Analog-to-digital converter and multiplexer 116 converts theanalog electrical signals found on conductors 108, 110, 112, and 114,into digital values carried on a line 118. Line 118 is connected tomicrocontroller 120, which controls multiplexer 116 to selectivelymonitor the state of the four touch sensors. Microcontroller 120 alsoreceives inputs from various other sensors on the input device. Forsimplicity, these inputs are shown collectively as input 122. Thoseskilled in the art will recognize that different input devices providedifferent input signals depending on the types of motion sensors in theinput device. Examples of motion sensors include switches; which providesignals indicative of the motion needed to close a switch; microphones,which provide signals indicative of air movement created by an audiosignal; encoder wheels, which provide signals indicative of the motionof a mouse ball, track ball, or mouse wheel; and resistance wipers,which provide electrical signals indicative of the movements of ajoystick. Each of these motion sensors acts as an input generator thatis capable of generating input information to be sent to the computersystem. Based on the particular input generator, this input informationcan include a depressible key's state, a depressible button's state,sound information, or movement information.

[0059] Those skilled in the art will also recognize that the number ofinput lines tied to microcontroller 120 depends on the number of sensorson the input device and the configuration of the input device. Forexample, for a keyboard, the microcontroller uses input lines todetermine if any of the keys have been depressed. The microcontrolleraccomplishes this using a multiplexer (not shown) to sequentially testthe state of each key on the keyboard. The techniques used to detectthese switch closures are well known in the keyboard art.

[0060] In a mouse or track ball, input lines 122 include lines fordetecting the closure of switches and lines for detecting the rotationof encoder wheels. The switches are located beneath buttons on the mouseor tack ball. The encoder wheels track the movement of the mouse ball ortrack ball. Typically, one encoder wheel tracks movement in the Xdirection and another encoder wheel tracks movement in the Y direction.In most embodiments, each encoder wheel has its own associated inputline into microcontroller 120. In some mice, an additional encoder wheeltracks the rotation of a wheel located on top of the mouse.

[0061] In some mice, the X and Y movement of the mouse is tracked by aseparate optics microcontroller that is connected to microcontroller 120through lines 122. The optics microcontroller uses optical data todetermine movement of the mouse. The optical microcontroller convertsthis optical data into movement values that are transmitted tomicrocontroller 120 along input lines 122.

[0062] In a game pad, input lines 122 include lines for detecting theclosure of multiple switches on the game pad as well as lines fordetecting the rotation of wheels on the game pad. In joysticks, inputlines 122 can include lines connected to resistance wipers on thejoystick as well as switches on the joystick. In headsets, lines 122include multiple lines that carry multi-bit digital values indicative ofthe magnitude of the analog electrical signal generated by themicrophone. These digital values are typically produced by ananalog-to-digital converter. To reduce the weight of the headset, theanalog-to-digital converter and microcontroller 120 are often found on asoundboard located within the computer. To further reduce the weight ofthe headset, multiplexer and A-to-D converter 116 of FIG. 2 can also beimplemented on the soundboard.

[0063] Microcontroller 120 produces an output 124, which is provided toserial port interface 46 of FIG. 1. Typically, output 124 is a serial,digital value that indicates which motion sensor or touch sensor hasbeen activated. For keyboards, the digital values include scan codesthat uniquely identify the key or touch sensor on the keyboard that hasbeen activated. For mice, the digital values include a mouse packet thatdescribes the current state of each switch and each touch sensor on themouse as well as the distances that the mouse wheel and mouse ball havemoved since the last mouse packet was sent.

[0064]FIG. 3 is a perspective view of a headset 150 of the presentinvention. Headset 150 includes a microphone 152, a support piece 154, atouch sensor 156, and an output line 158. Support piece 154 is designedto loop around a user's ear to support the headset such that microphone152 positioned in front of the user's mouth.

[0065] Output line 158 carries signals from microphone 15,2 and fromtouch sensor 156. In some embodiments, headset 150 is connected to acomputer system that includes a speech recognition system. In theseembodiments, the speech recognition system is inactive unless touchsensor 156 indicates that headset 150 is being touched by a user. Theactivation of the speech recognition system can include loading thespeech recognition system into random access memory when the user firsttouches headset 154. It can also include prompting a speech recognitionsystem that resides in random access memory so that it can process inputspeech signals. In either case, by only activating the speechrecognition system when headset 150 indicates that the user is touchingthe headset, the present invention reduces the likelihood thatextraneous speech will be processed by the speech recognition system.

[0066]FIG. 4A is a perspective view of one embodiment of a mouse 170 ofthe present invention. Mouse 170 includes a palm-rest 172, a left button174, a right button 176, a wheel 178, a side 180, and an output line182. Palm-rest 172, left button 174, and two side areas 184 and 186 ofside 180 are coated with separate conductive films. Each of theconductive films is connected to and forms part of a separate sensorsuch as sensor 100, 102, 104, and 106 of FIG. 2.

[0067]FIG. 4B shows a bottom view of mouse 170. Mouse 170 includes atrack ball 190 located in a track ball nest 192. When mouse 170 is movedacross a surface through force applied at palm-rest 172, side 180, leftbutton 174, or right button 176, track ball 190 rolls within nest 192.This rolling is detected by a pair of encoder wheels 194 and 196 thatare shown in FIG. 4C.

[0068]FIG. 4C is a perspective view of some of the internal electronics189 of mouse 170. In FIG. 4C, track ball 190 has been omitted forclarity. Internal electronics 189 include encoder wheels 194 and 196that detect movements of track ball 190 along two perpendiculardirections. The encoder wheels produce electrical signals that areprovided to microcontroller 200, which also receives inputs fromswitches 202 and 204 located under left button 174 and right button 176,respectively. Switches 202 and 204 indicate when left button 174 andright button 176, respectively, have been depressed by the user.Microcontroller 200 also receives signals from switch 201, whichindicate when wheel 178 has been depressed, and an encoder wheel 203,which indicates rotational movement of wheel 178. Microcontroller 200also receives electrical signals from the four sensors attached to theconductive films on palm-rest 172, left button 174, and side areas 184and 186 of FIG. 4A. These four sensors are grouped together in FIG. 4Cas sensor array 206.

[0069] Thus, the mouse of the present invention is able to detect whencertain areas of the mouse are being touched and when portions of themouse or the entire mouse are being moved. Specifically, the conductivefilms at palm-rest 172, left button 174, and side areas 184 and 186indicate when these areas are being touched by the user. Note that evenif the user does not move the mouse or press a button, the sensorsassociated with the conductive films of FIG. 4A will generate anelectrical signal when the user touches the mouse. Encoder wheels 194and 196 generate a separate electrical signal when the user moves themouse and switches 202, 204, and 201 generate separate electricalsignals when the user depresses buttons 174 and 176, and wheel 178respectively. Thus, the mouse of the present invention addsfunctionality without increasing dexterity needed to manipulate thecontrols of the mouse.

[0070] In alternative embodiments of the present invention, track ball190 and encoder wheels 194 and 196 are replaced by a solid-stateposition-tracking device that collects images of the surface that themouse travels over to determine changes in the position of the mouse.Under these embodiments, the mouse typically includes a light sourceused to illuminate the surface, an optics system used to collect imagesof the surface, and a processor used to compare the various images todetermine if the mouse has moved, and if so, in what direction. Sincethe solid-state position-tracking device converts movement into anelectrical signal, it can be considered to be a sophisticated transduceror motion sensor.

[0071]FIGS. 5, 6A, 6B, 6C, 6D, 7A, 7B, 8A, 8B, 9A, 9B, 9C, 10A, 10B,10C, 10D, 10E, 10F, 10G, 10H, 11A, 11B, 12A, 12B, 13A, 13B, 13C, 13D,14A, 14B, 14C, and 14D show alternative configurations for a mouse underthe present invention. FIG. 5 is a top view of a mouse that only has atouch sensor on its palm rest 600. FIGS. 6A, and 6B, show separate miceembodiments that each have a sensor at the palm rest and along the leftside of the mouse. In FIG. 6A, which is a side view, a single sensor 602covers both the palm rest and the left side of the mouse. In FIG. 6B,also a side view, one sensor covers a palm rest 604 and a separatesensor covers a left side 606.

[0072]FIGS. 6C and 6D show separate mice embodiments of the presentinvention that each has a sensor at the palm rest and along the rightside of the mouse. In FIG. 6C, which is a right side view, a singlesensor 603 covers both the right side and the palm rest. In FIG. 6D,also a right side view, one sensor 605 covers the palm rest and aseparate sensor 607 covers the right side.

[0073]FIGS. 7A and 7B show a side view and a top view, respectively, ofa mouse embodiment having a single sensor 608 across a palm rest and aleft side of the mouse, and a separate sensor 610 on the left button ofthe mouse. FIGS. 8A and 8B show a side view and a top view,respectively, of a mouse embodiment having a single touch sensor 612across the palm rest and left side of the mouse, a touch sensor 614 onthe left button of the mouse and a touch sensor 616 on the right buttonof the mouse.

[0074]FIGS. 9A, 9B, and 9C show a left side view, a top view and a rightside view, respectively, of a mouse 690 of the present invention. Mouse690 includes a left side sensor 692, a palm sensor 694, a right sidesensor 696, and a button sensor 698. In mouse 690, right side sensor 696and left side sensor 692 are separate from palm sensor 649. In anotherembodiment of the present invention these three sensors are formed as asingle sensor.

[0075]FIGS. 10A, 10B, 10C, 10D, 10E, 10F, 10G and 10H show top views ofdifferent mice embodiments showing possible configurations for touchsensors on the left button of a mouse of the present invention. Thesebutton configurations may appear alone on the mouse or in combinationwith other sensors on other parts of the mouse. FIG. 10A shows a singlesolid sensor 618 across the entire left button. FIG. 10B shows a set ofsix sensor strips 620 that each produce a separate electrical signalwhen they are touched. FIG. 10C shows two regions 624 and 626 separatedby a ridge 628. Both region 624 and 626 end at a front end 627 of button622. FIG. 10D shows two regions 634 and 637 separated by a ridge 636,where regions 634 and 637 both end at a side end 631 of button 630. Theconfigurations of buttons 622 and 630 are particularly useful in pagingthrough documents as discussed below. FIG. 10E shows a buttonconfiguration for a button 640 having four separate sensor areas formedas squares 641, 642, 643, and 644. In some embodiments, the lines thatseparate the four sensor areas are formed as ridges that have adifferent topography from the sensor areas. FIG. 10F also shows fourseparate sensors on a button 646. In FIG. 10F three of the sensor areas650, 651, and 652 are found at a front end of button 646, and theremaining sensor 648 covers the remainder of button 646. FIG. 10G showsa button 660 with nine sensor regions arranged in a layout similar to akeypad. FIG. 10H shows a button 670 with an outer circle of eightsensors 672 that surrounds a central sensor 674. The configuration ofbutton 670 is especially useful for manipulating radial menus.

[0076]FIGS. 11A and 11B show mice embodiments that include separatesensors on both buttons of the mouse. In FIG. 11A, buttons 700 and 702have sensors but palm rest 704 does not have a sensor. In FIG. 11B,buttons 706 and 708 and palm rest 710 each has separate sensors.

[0077]FIGS. 12A and 12B show mice embodiments with multiple sensorsalong the right side of the mouse. In FIG. 12A, which is a right sideview, there are two sensors 720 and 722 along the right side. In FIG.12B, there are three sensors 724, 726, and 728 along the right side.

[0078]FIGS. 13A, 13B, 13C, and 13D show side views of mice embodimentswith multiple sensors along the left side of the mouse. The mouse ofFIG. 13A has two sensors 734 and 736 along the left side. In FIG. 13B,the mouse has three touch sensors 738, 740, and 742, each separated by aspace. The mouse of FIG. 13C also has three touch sensors along the leftside. However, in FIG. 13C, middle touch sensor 744, which is locatedbetween sensors 746 and 748, has a raised surface and is formed as aridge between sensors 746 and 748. The raised surface of sensor 744provides tactile feedback to the user to allow the user to determine theposition of their thumb without looking at the mouse. FIG. 13D shows amouse embodiment with a plurality of strips 752 running along the leftside of the mouse.

[0079] Note that all of the embodiments of FIGS. 12A, 12B, 13A, 13B,13C, and 13D can be practiced under the present invention along with asensor located on the palm rest and/or a sensor located on the leftbutton and/or a sensor located on the right button.

[0080]FIGS. 14A, 14B, 14C, and 14D are top views of mice embodimentswith touch sensors proximate a wheel on a mouse. In FIG. 14A, the touchsensor is located directly on a wheel 760. In FIG. 14E, one touch sensor762 is located forward of a wheel 764, and one touch sensor 766 islocated in back of wheel 764. In the embodiment of FIG. 14B, wheel 764does not have a touch sensor. In FIG. 14C, one touch sensor 770 islocated in front of a wheel 768 and one touch sensor 772 is located inback of wheel 768. In addition, wheel 768 includes a touch sensor. Inthe embodiment of FIG. 14D, touch sensors are located on a wheel 774,front area 776, which is in front of wheel 774, back area 778, which isin back of wheel 774, and palm rest 780.

[0081] Although various embodiments have been described withparticularity with respect to touch sensor location in FIGS. 5, 6A, 6B,6C, 6D, 7A, 7B, 8A, 8B, 9A, 9B, 9C, 10A, 10B, 10C, 10D, 10E, 10F, 10G,10H, 11A, 11B, 12A, 12B, 13A, 13B, 13C, 13D, 14A, 14B, 14C, and 14D, itshould be noted that sensors may also be included in other locations.For example, it is possible to combine some or all of the touch sensorsillustrated in one embodiment with some or all of the touch sensorsillustrated in another embodiment.

[0082]FIG. 15 is a perspective view of a track ball 220 of the presentinvention. Track ball 220 includes a base 222, buttons 224 and 226, anda ball 228. In one embodiment of the present invention, track ball 228is coated with a conductive film that is contacted by three rotatingmetal wheels (not shown) in base 222. One of the metal wheels iscontacted by a conductive sheet that sits behind the wheel and ispressed into the wheel by a spring force. The conductive sheet isfurther connected to a touch sensor that produces an electrical signalwhen track ball 228 is touched by a user. The other two wheels in base222 form two orthogonal motion sensors (not shown) capable of trackingthe rotary motion of track ball 228 in base 222. Beneath buttons 224 and226, base 222 includes two switches that are capable of generatingelectrical signals when a user depresses buttons 224 and 226. Thus,track ball 220 is able to provide one electrical signal based on theuser simply touching ball 228 and separate electrical signals based onthe user moving track ball 228 or depressing buttons 224 or 226.

[0083]FIG. 16 is a perspective view of a joystick 240 of the presentinvention that includes a base 242, a handle 244, a trigger 246, andbuttons 248, 250, and 252. In one embodiment of the present invention,trigger 246 is coated with a conductive film that is connected to atouch sensor within base 242. In further embodiments, button 248 is alsocoated with a conductive film connected to a separate touch sensor inbase 242. Trigger 246 and buttons 248, 250, and 252 are furtherconnected to switches that provide respective electrical signals whenthe user depresses the respective buttons or trigger. Handle 244 isconnected to a set of transducers that track the relative motion ofhandle 244 relative to base 242. Thus, joystick 240 provides a set ofelectrical signals when the user is touching trigger 246 or button 248and a separate set of electrical signals when the user moves handles 244or moves trigger 246 or buttons 248, 250, or 252.

[0084]FIG. 17 is a perspective view of a game pad 260 of the presentinvention having side buttons 262 and 264, left hand buttons 266, 268,270, 272, 274, and 276 and right hand buttons 278, 280, 282, 284, 286,and 288. In addition, game pad 260 has a start button 290 and a selectbutton 292. In some embodiments of the present invention, side buttons262 and 264 are each coated with a conductive film that is connected toa respective touch sensor within game pad 260. Game pad 260 alsoincludes a plurality of switches, one switch for each button on the gamepad. Thus, in some embodiments, game pad 260 is able to provide one setof signals indicative of when the user is touching side buttons 262 and264 and a second set of electrical signals indicative of when the userhas depressed a button on game pad 260.

[0085]FIG. 18 depicts a keyboard 300 of one embodiment of the presentinvention that has a typical QWERTY layout 302 on the left side of thekeyboard and a numeric keypad 304 on the right side. Numeric keypad 304includes the numbers 0-9 with the numbers 1-9 appearing in a 3×3 box. Insome embodiments, all nine of these keys are covered with a conductivefilm. In other embodiments, other keys on the keyboard are covered bythe conductive film. The conductive film on each key is connected to andforms part of a separate touch sensor in keyboard 300. The applicationof such touch sensors in the present invention is discussed furtherbelow. The fact that each key has a conductive film means that the keysare each able to provide two signals. One signal is provided when theuser touches but does not depress the key and a second signal isprovided when the user depresses the key.

[0086] Additional touch sensors are located on keyboard casing 301 atportions 306 and 307 below space bar 308, at portion 309 below arrowkeys 310, and at a portion 311 below key pad 304. Arrow keys 310 aretypically used by the user to move a cursor across the display. Notethat although keyboard 300 is shown with touch sensors on the keys andtouch sensors on portions 306, 307, 309, and 311, other embodiments ofthe invention only have touch sensors on the keys or only on one of theportions 306, 307, 309, and 311. In other embodiments, differentcombinations of these touch sensors are found on the keyboard. Inaddition, some or all of the touch sensors on portions 307, 307, 309,and 311 are proximity sensors in some embodiments. The proximity sensorscan detect the user's hand when it is near the sensor without requiringthe hand to actually contact the sensor.

[0087]FIG. 19 is a more detailed block diagram of computer 20 useful indescribing a message routing system of one embodiment of the presentinvention. In FIG. 19, input device 43 provides a serial binary signalto serial interface 46. Input device 43 can include any of the inputdevices described above that have touch sensors.

[0088] Serial interface 46 converts the serial binary signal from inputdevice 43 into parallel multi-bit values that are passed to devicedriver 60. In many embodiments of the present invention device driver 60is implemented as a software routine that is executed by CPU 21 ofFIG. 1. In these embodiments, device driver 60 is input device specificand is designed to interact with a particular input device based on adesignated protocol. Thus, if input device 43 is a mouse, device driver60 is a mouse driver that is designed to receive mouse packets generatedby the mouse using a mouse packet protocol. If input device 43 is akeyboard, device driver 60 is a keyboard driver designed to receivekeyboard scan codes indicative of a key being depressed or a touchsensor being touched.

[0089] Based on the designated protocol, device driver 60 converts themulti-bit values into device messages that are passed to operatingsystem 35. These device messages indicate what events have taken placeon the input device. For example if a touch sensor on a mouse has beentouched, the message indicates that the particular sensor is beingtouched. When the touch sensor is released, a separate message isgenerated by device driver 60 to indicate that the touch sensor has beenreleased.

[0090] The messages generated by device driver 60 are provided tooperating system 35, which controls the routing of these messages. Undermany embodiments, the device messages are usually sent to a focusapplication 812. The focus application is typically the application thathas the top-most window on the display.

[0091] In some embodiments of operating system 35, the operating systemmaintains a list of message hook procedures that have been registeredwith the operating system. In these embodiments, operating system 35sequentially passes the device message to each message hook procedure onthe list before sending the message to focus application 812. Suchmessage hook procedures are shown generally as message hook procedures810 of FIG. 19. Most message hook procedures simply evaluate the devicemessage to determine if some action should be taken. After evaluatingthe device message, the message hook procedure returns a value tooperating system 35 indicating that the operating system should pass thedevice message to the next procedure in the list. Some message hookprocedures have the ability to “eat” a device message by returning avalue to operating system 35 that indicates that the operating systemshould not pass the device message to any other message hook proceduresor to the focus application.

[0092] The message hook procedures and the focus application use thedevice messages, especially those indicating that a touch sensor hasbeen touched, to initiate a variety of functions that are discussedbelow.

[0093] For example, FIGS. 20 and 21 depict images of screens displayedby various applications of the present invention that utilize devicemessages generated based on signals from an input device of the presentinvention such as mouse 170 and track ball 220 of FIGS. 4A and 15,respectively. FIG. 20 depicts an image of a screen 320 that shows avirtual desktop 322. Virtual desktop 322 includes images of icons 324and 326 as well as an open window 328. Open window 328 is associatedwith a word processing application known as Microsoft Word, offered byMicrosoft Corporation of Redmond, Wash.

[0094] In Window 328, a caret 330 is positioned within a sentence of anopen document. Caret 330 is may be positioned by moving mouse 170 orball 228 of track ball 220. In FIG. 20 caret 330 appears as a verticalline that extends between two smaller horizontal lines. Those skilled inthe art will recognize that caret 330 can have many different shapes,and typically appears as an arrow on desktop 322.

[0095] The position of caret 330 within the sentence of window 328causes a tool tip 332 to appear. Tool tip 332 indicates who entered theword that caret 330 is positioned over.

[0096] Window 328 also includes a tool bar 334 that includes drawingtools that can be used to draw pictures in the document of window 328.

[0097] Under embodiments of the present invention, caret 330, tool tip332, and tool bar 334 only appear in window 328 while the user istouching a portion of the input device. If the user is not touching theinput device, caret 330, tool tip 332, and tool bar 334 disappear. FIG.21 shows an image of display 320 when the user is not touching a portionof the input device. By eliminating tool bar 334, caret 330, and tooltip 332 when the user is not touching the input device, the presentinvention reduces the clutter found in window 328 and makes it easierfor the user to read the document shown in window 328.

[0098] Those skilled in the art will recognize that the disappearance ofcursor 330, tool tip 332, and tool bar 334 when the user is not touchingthe input device can be controlled independently. Thus, the user maycustomize window 328 such that tool tip 332, and tool bar 334 disappearwhen the user releases the input device, but caret 330 remains visible.In addition, the rate at which items disappear and reappear can becontrolled. Thus, it is possible to fade images off the display and tofade them back onto the display as the user releases and then touchesthe input device. In some embodiments, the fade-out period is 2.0seconds to minimize distraction, and the fade-in period is 0.0 secondsfor the cursor, which appears instantly and 0.3 seconds for toolbars.

[0099]FIGS. 22, 23, and 24 show a series of display screens that includepull-down menus that are displayed as a result of keyboard messages fromkeyboard 300 of FIG. 18. In particular, in screen image 350 of FIG. 22,an application generates an active window 352 on virtual desktop 354that includes an image of a pull-down menu 356. Pull-down menu 356 isassociated with a menu heading entitled “Tools” found in a menu bar 358.Pull-down menu 356 is displayed in response to a keyboard message thatindicates that the user is touching but not depressing one of the keysof numeric keypad 304 of keyboard 300.

[0100] In other embodiments, the user may move left and right acrossmenu bar 358 by using the keys representing the numbers “4” and “6” onnumeric keypad 304. As the user moves across menu bar 358 a differentpull-down menu is displayed for each respective menu heading.Specifically, by touching the key representing the number “4”, the usercauses a keyboard message to be sent to the application, which changesthe display so that the menu heading to the left of the current menuheading in header menu 358 is displayed. Thus, if the pull-down menu forthe menu heading “Tools” is currently displayed in window 352, touchingthe key representing the number “4” causes a pull-down menu associatedwith the menu heading “Insert” to be displayed. Similarly, the user cancause a pull-down menu to appear for a menu heading to the right of thecurrent menu heading by touching the key representing the number “6” onnumeric keypad 304. Thus, if the current pull-down menu is associatedwith the menu heading “Tools”, and the user touches the key representingthe number “6”, the pull-down menu associated with the menu heading“Format” in header menu 358 will be displayed. This is shown in FIG. 23where pull-down menu 360 for the menu heading “Format” 358 is displayed.

[0101] By touching the keys representing the numbers “2” and “8” onnumeric keypad 304, the user can also move up and down within apull-down menu such as pull-down menu 360. As the user moves through apull-down menu, different items within the pull-down menu becomehighlighted. An example of a highlighted entry is entry 362 of FIG. 23,which highlights the entry “Tabs” of pull-down window 360 as the currententry. If the user touches the key representing the number “8” whileentry 362 is the current entry, the application that receives theassociated keyboard message highlights entry 364 located above entry 362as the current entry. If the user touches the key representing thenumber “2” while entry 362 is the current entry, entry 366 below entry362 is highlighted as the current entry.

[0102]FIG. 23 can also be used to describe another embodiment of thepresent invention. In particular, pull-down window 360 may also beactivated by positioning the caret over the menu heading “Format” anddepressing a select button on a pointing device such as mouse 170 ortrack ball 220 of FIGS. 4A and 15, respectively. The user may select anentry in pull-down window 360 by moving the pointing device downwardthrough the list of entries. As the user moves the input device,individual entries in the list are highlighted.

[0103] In the prior art, pull-down menu 360 will continue to bedisplayed, even if the caret is positioned outside of the pull-down menuitself. The only way to make the pull-down menu disappear is to click onan area outside of the menu itself. However, under an embodiment of thepresent invention, the application that produces the pull-down menu,removes the pull-down menu as soon as it receives a mouse message thatindicates that the user released the pointing device. This improves userefficiency by reducing the movements the user must make to close thepull-down windows associated with header menu 358.

[0104]FIG. 25 is an image of a display screen that includes a radialmenu 370 that is displayed under an alternative embodiment of thepresent invention. Radial menu 370 includes eight entries arranged in acircle 371 around a cancel button 372. Radial menu 370 may either bemanipulated by using keyboard 300 of FIG. 18 or by using the touchsensors on button 670 of the mouse of FIG. 10H.

[0105] Using keyboard 300, a focus application displays radial menu 370when it receives a keyboard message indicating that a user touched oneof the keys in key pad 304. To highlight a specific entry, the usertouches a key in keypad 304 that is spatially related to the entry. Forexample, to highlight entry 373 of radial menu 370, the user touches thekey representing the number “8”, which is located directly above acenter key representing the number “5” because the spatial positioningof the “8” key relative to the “5” key is the same as the spatialrelationship between entry 373 and cancel button 372. To select anentry, the user depresses the key that causes the entry to behighlighted. To dismiss the radial menu, the user depress the “5” key.

[0106] To manipulate the radial menu using the touch sensors of button670 on the mouse of FIG. 10H, the user simply touches the touch sensorthat corresponds to an entry on the radial menu. Simply touching thecorresponding touch sensor causes the entry to be highlighted.Depressing button 670 while touching the corresponding touch sensorcauses the entry to be selected. The application determines that bothevents have occurred based on two separate mouse messages. A first mousemessage indicates which touch sensor is currently being touched. Asecond mouse message indicates that the left button has been depressed.

[0107]FIGS. 26A, 26B, and 26C, show images of screens displayed by aprogram application of the present invention that depict an animationcreated by the application. In particular, these Figures show theanimation of a caret “sonar” that is formed by sequentially placingrings around the caret. This animated sonar is initiated under thepresent invention when the user initially touches an input device suchas mouse 170 of FIG. 4A.

[0108] The animation can be seen in FIGS. 26A, 26B, and 26C by viewingthe respective displays 400, 402, and 406 as a sequence of displays thatare presented to the user in that order. In display 400 of FIG. 26A,caret 406, which appears as an arrow, is shown without any surroundinggraphics. In display 402, caret 406 is surrounded by a circle 408. Indisplay 404, caret 406 is surrounded by two circles 408 and 410. Underone embodiment, the animation of FIGS. 26A, 26B, and 26C only last for0.3 seconds after the user initially touches the input device.

[0109]FIG. 26A can also be used to describe another embodiment of thepresent invention. Specifically, under this embodiment of the presentinvention, caret 406 of FIG. 26A will not move unless the input deviceis being touched by the user while it is being moved. Thus, if mouse 170moves because the user accidentally kicks the cord of the mouse, caret406 will not move under the present invention since the user was nottouching the mouse directly. Under prior art systems, applications movedthe caret upon receiving a mouse message that indicated that the mousehad been moved. Under the present invention, the application only movesthe caret if it receives a message that the mouse is being touched and amessage that the mouse has moved. This helps to prevent unwantedmovement of the caret.

[0110] In the prior art of computer systems, if the user has not movedthe input device or has not entered text over a period of time, thecomputer system will initiate a screen saver program. Such a programprovides a mostly black display to help reduce the wear on the screen.An example of a screen saver is shown in FIG. 27. Under the presentinvention, the screen saver application will be stopped when the usertouches an input device of the present invention. Thus, the user doesnot have to move the input device as in the prior art, but only has totouch the input device in order to stop the screen saver program and toredisplay the virtual desktop. Thus, when the user touches the inputdevice, screen saver display 430 is replaced with a desktop display suchas display 400 of FIG. 26A.

[0111] In some embodiments of the present invention, the input deviceincludes enough touch sensors that it is possible for the presentinvention to identify how the user is gripping the input device. Forexample, mouse 690 of FIGS. 9A, 9B, 9C, which is referred to by theinventors as a “pinch” mouse, includes two side touch sensors 692 and696 and a palm rest touch sensor 694. Thus, it is possible for theapplications of the present invention to identify which touch sensorsthe user is touching based on a collection of device messages and thus,how the user is gripping mouse 690.

[0112] This information can be used to control how the caret moves onthe display. For example, under one embodiment of the present invention,if the user is gripping mouse 690 so that the user's thumb is touchingleft side sensor 692 and their palm is touching palm rest touch sensor694, the caret moves relatively large distances across the display forfixed movements of mouse 690. If the user is gripping mouse 690 suchthat the user is touching left side sensor 692, right side sensor 696but not palm rest touch sensor 694, the caret moves small distances forthe same fixed movement of mouse 690. This provides more flexibility inthe control of the caret and is useful in programs where the caret isused to draw on the screen, to place the cursor on the screen, and tomove objects.

[0113] In an alternative embodiment, the manner in which the user gripsthe input device can be used to control the width of an ink trailproduced behind the caret as the user moves the input device. FIG. 28 isan image of a display 436 showing two ink trails 438 and 440 ofdifferent widths. Under this embodiment of the invention, these inktrails are produced when the user grips the input device in twodifferent ways. For example, narrow-width ink trail 438 is produced whenthe user touches both left side sensor 692 and right side sensor 696 ofmouse 690. On the other hand, thick-width ink trail 440 is produced whenthe user touches left side sensor 692 and palm-rest touch sensor 694 butnot right side sensor 696.

[0114] In further embodiments of the present invention, ink trails, suchas ink trails 438 and 440 of FIG. 28 can be produced by touching abutton on an input device such as button 174 of FIG. 4A. In the priorart, such ink trails are usually only produced if the button isdepressed. Under the present invention, the user does not have to strainto maintain pressure on the button while producing the ink trail.Instead, the user only needs to keep their finger in contact with thebutton. Similarly, in some embodiments of the present invention, theuser may open boxes, drag objects, and initiate commands by simplytouching the top of the button instead of having to depress the button.The movement of the object, box, or ink trail is then controlled by themovement of the input device by the user while the user maintainscontact with the button.

[0115] The user may also place a cursor within a hypertext link, such aslink 457 of FIG. 29, by touching a button on the input device while adisplayed caret 458 is positioned over the link. The user activates thelink by depressing the button. Such embodiments make it easier to placea cursor within a link without activating the link.

[0116] In one embodiment of the present invention, multiple touch areason an input device can be used to page backwards and forwards throughweb pages provided by an Internet browser. Examples of input deviceshaving multiple touch sensitive areas useful in paging are the mice ofFIGS. 10C, 10D, 12A, 12B, 13A, 13B, and 13C. In FIG. 10C, touchingregion 624 and then region 626 initiates a page backward function andtouching region 626 and then region 624 initiates a page forwardfunction. In FIG. 10D, touching region 637 and then region 634 initiatesa page backward function and touching region 634 and then region 637initiates a page forward function. In FIGS. 12A and 12B, touchingregions 722 and 724, respectively, and then regions 720 and 728,respectively, initiates page forward functions and touching regions 720and 728, respectively, and then regions 722 and 724, respectively,initiates page backward functions. In FIGS. 13A, 13B, and 13C, touchingregions 734, 738, and 746, respectively, and then touching regions 736,742 and 748, respectively, initiates page forward functions and touchingregions 736, 742, and 748, respectively, and then touching regions 734,738, and 746, respectively, initiates page backward functions.

[0117] Note that a mouse of the present invention can be configured sothat paging functions are initiated simply by touching one touch sensorinstead of touching a sequence of two touch sensors. Thus, in FIG. 10Ctouching region 624 can initiate a page forward function and touchingregion 626 can initiate a page backward function. Similarly, touchingregion 734 of FIG. 13A can initiate a page forward function and touchingregion 736 of FIG. 13A can initiate a page backward function. In thiscontext, the touch sensors of the present invention provide thefunctionality of the side switches found in a patent application filedon even date herewith entitled “INPUT DEVICE WITH FORWARD/BACKWARDCONTROL”, and identified by attorney docket number M61.12-0083, theinventors of which were under a duty to assign the application to theassignee of the present application.

[0118] The paging functions performed using these touch areas are shownin FIGS. 30, 31, and 32. In FIG. 30 display 460 shows an Internetbrowser window 462 that depicts a current page 464. A user can pagebackward to the Internet page that was displayed before current page 464to display a past page 470 of FIG. 31, which is shown in Internetbrowser window 472. The user can move forward to a next page 476, shownin browser window 478 of display 480 in FIG. 32, using the touch sensorcombination described above. In order to be able move forward to nextpage 476, the user must at some point move backward from next page 476to current page 464.

[0119] Input devices of the present invention also allow for scrollingthrough pages of documents on a line-by-line basis. In particular, themice of FIGS. 10B and 13D allow for scrolling using a series of touchsensor strips on the left button and on the left side of the mouse,respectively. When the user strokes the strips by moving their thumb orfinger toward their hand, the document is scrolled downward. When theuser strokes the strips in the opposite direction, the document isscrolled upward. In some embodiments, the speed at which the strips arestroked determines the scroll rate.

[0120] Scrolling under the present invention is also accomplished usingthe mice embodiments of FIGS. 14A, 14B, 14C, and 14D. In theseembodiments, when the user rolls the wheel of the mouse toward theirhand, the document scrolls down. When the user rolls the wheel away fromtheir hand, the document scrolls up. In addition, if the user's fingerremains in contact with a touch sensor on the wheel or on a touch sensorbehind the wheel after rotating the wheel backward, the document willcontinue to scroll until the user releases the touch sensor. Similarly,if the user's finger remains in contact with a touch sensor on the wheelor a touch sensor in front of the wheel after the user has rolled thewheel forward, the document will continue to scroll up until the userreleases the touch sensor. The sensor in front of the wheel can also betapped by rapidly touching and releasing the touch sensor in order topage down through the document. Similarly, the sensor behind the wheelcan be tapped to page up through the document.

[0121] In addition to controlling the output images provided to theuser, applications of the present invention also control audio signalspresented to the user based on touch-indicative signals provided by aninput device of the present invention. In some embodiments of thepresent invention, some audio signals are suppressed if the user istouching the input device. In other embodiments, audio signals aresuppressed if the user is not touching the input device. The audiosignals can include notification signals such as mail chimes, and hourlyclock bells.

[0122] Under some embodiments of the present invention,computer-executable instructions determine at least one characteristicof how a user touches an input device based on a touching signal fromthe input device. Other instructions record profile information aboutthe user based on this characteristic. One simple characteristic iswhether the user is touching the input device. Under an embodiment ofthe present invention, whether the user is touching the input device isrecorded and is transmitted over a network to other user, to indicatethat the user is present at their station.

[0123] Additionally, the amount of time that the user spends touchingthe input device can be recorded. This information can be refined toreflect the amount of time that the user is touching the input devicewhile a certain page from the network is displayed as the top-most pageon their computer screen. This is useful in determining the amount oftime that the user spends looking at a page from the network forinstance a page from the Internet. Being able to track the amount oftime a user spends looking at particular pages on the Internet makes itpossible to track user interest in pages and to make more accuratedeterminations of whether a user was likely to have viewed anadvertisement on an Internet page.

[0124] The mice embodiments and the keyboard embodiment of the presentinvention described above are particularly useful for collecting thistype of information. For the keyboard of FIG. 18, signals from touchsensors 306, 307, 309 and 311 are used to collect this type ofinformation.

[0125] In other embodiments of the present invention,computer-executable instructions determine what hand the user uses togrip the input device. For example, since mouse 170 has side areas 184and 186, the computer system can determine if the user is gripping themouse with their right hand or their left hand. If the user grips mouse170 with their right hand, side area 186 will be covered by the user'sthumb. If the user grips mouse 170 with their left hand, side area 186will not be covered by the user's thumb. By identifying which hand theuser uses to grip the mouse, the computer system can identify the user'sdominant hand and can allocate functions to the input device's buttonsbased on the user's dominant hand. Thus, if the left button on the mouseis used for click and drag functions for right handed users the rightbutton on the mouse is used for click and drag functions for left handedusers. This allows both left-handed and right-handed users to use thesame fingers to activate the same functions.

[0126] In one embodiment of the present invention, a computer system hascomputer-executable instructions for determining if the user is touchingthe input device and for initiating the spinning of a disk drive when itis determined that the user is touching the input device. Thus, the diskdrive would remain inactive until it is determined that the user istouching the input device, which would be an indication that thecomputer system may need to access the disk drive.

[0127] In another embodiment of the present invention, a computer systemdetermines if the user is touching a headset that is capable ofconverting a user's speech into an electrical signal. If the systemdetermines that the user is touching the headset, it activates a speechrecognition program so that the speech recognition program processes theelectrical signals produced by the headset. In other embodiments, thesystem only activates the speech recognition program if the user istouching a mouse. In still other embodiments, the user must touch boththe headset and the mouse to activate the speech recognition program. Byonly activating the speech recognition system when an input device istouched, the embodiment of the invention reduces unwanted processing ofspeech that was not directed toward the speech recognition system.

[0128] In yet another embodiment of the present invention, a televisionor an Internet set-top system utilizes a remote control that includes atleast one touch sensor. Such Internet set-top systems provide access tothe Internet using a television as a display unit. Some Internetset-tops can also integrate television programs with Internet basedinformation.

[0129]FIG. 32 shows one embodiment of a remote control 500 for anInternet set-top system or television system under the presentinvention. Remote control 500 includes touch sensor 502, which includesa conductive film. In one embodiment of remote control 500, the remotecontrol enters an inactive state when the user is not touching touchsensor 502. In the inactive state, remote control 500 uses less powerthan in its active state and thus conserves the power of the batteriesin the remote control. In another embodiment of remote control 500, aspeech recognition program is activated when the user contacts touchsensor 502.

[0130] In further embodiments of the present invention, a computersystem suppresses processor intensive computer-executable instructionsif it determines that the user is not touching an input device.Specifically, the invention suppresses instructions that produce imageson the display or that produce audio signals. The reason for suppressingthese instructions is that the may be wasted since it is likely that theuser is not viewing the display if they are not touching an inputdevice. By suppressing these processor intensive instructions, thepresent invention increases the execution speed of many applications.

[0131] Although the present invention has been described with referenceto particular embodiments, workers skilled in the art will recognizethat changes may be made in form and detail without departing from thespirit and scope of the invention.

What is claimed is:
 1. An input device for a computer system comprising:an exterior surface; an input generator capable of generating inputinformation to be sent to the computer system comprising at least one ofthe following: (1) a depressible key's state, (2) a depressible button'sstate, (3) sound information, or (4) movement information; and a touchsensor located on the exterior surface of the input device and adaptedto generate an electrical signal when a user touches the touch sensor,the electrical signal containing touch information that is the same eachtime the user touches the touch sensor regardless of where the user'stouch occurs on the touch sensor.
 2. The input device of claim 1 whereinthe input device is a headset.
 3. The input device of claim 1 whereinthe input device is a joystick.
 4. The input device of claim 1 whereinthe input device is a game pad.
 5. The input device of claim 1 whereinthe input device is a remote control for an Internet set-top system. 6.The input device of claim 1 wherein the input device is a remote controlfor a television system.
 7. The input device of claim 1 wherein theinput device is a keyboard.
 8. The input device of claim 7 wherein thetouch sensor is located on a key.
 9. The input device of claim 7 whereinthe touch sensor is located on a portion of an outer casing of thekeyboard.
 10. The input device of claim 9 wherein the touch sensor islocated on the outer casing proximate a space bar key.
 11. The keyboardof claim 9 wherein the touch sensor is located on the outer casingproximate at least one arrow key representing desired movement for acursor on a display.
 12. The input device of claim 9 wherein the touchsensor is located on the outer casing proximate a set of keysrepresenting a numeric key pad.
 13. The input device of claim 12 furthercomprising a touch sensor located on top of one of the keys in the setof keys representing a numeric key pad.
 14. The input device of claim 1wherein the input device is a mouse.
 15. The input device of claim 14wherein a first touch sensor is located at least in part on a palm restof the mouse.
 16. The input device of claim 15 further comprising awheel, a second touch sensor located in front of the wheel and a thirdtouch sensor located behind the wheel.
 17. The input device of claim 15wherein the input generator comprises a first transducer located beneatha button on the mouse and the mouse further comprises a second touchsensor on the exterior of the button.
 18. The input device of claim 17wherein the first touch sensor extends along a side of the mouse. 19.The input device of claim 18 further comprising a second transducerlocated beneath a second button on the mouse and a third touch sensor onthe exterior of the second button.
 20. The input device of claim 15further comprising a second touch sensor located on a first side of themouse.
 21. The input device of claim 20 wherein the input generatorcomprises a first input transducer located under a button on the mouseand the mouse further comprises a third touch sensor located on theexterior of the button.
 22. The input device of claim 20 furthercomprising a third touch sensor located on a second side of the mouseopposite the first side of the mouse.
 23. The input device of claim 14wherein the input generator comprises a switch located beneath a buttonof the mouse and a touch sensor is located on the exterior of thebutton.
 24. The input device of claim 23 further comprising multipletouch sensors on the exterior of the button.
 25. The input device ofclaim 14 further comprising a depressible wheel wherein the inputgenerator comprises a switch capable of indicating when the depressiblewheel is depressed.
 26. An input device for a computer systemcomprising: an exterior surface; an input generator capable ofgenerating input information to be sent to the computer systemcomprising at least one of the following: (1) a depressible key's state,(2) a depressible button's state, (3) sound information, or (4) movementinformation; and a plurality of touch sensors located on the exteriorsurface of the input device and arranged to generate electrical signalsindicative of the manner in which the user touches the input device. 27.The input device of claim 26 wherein the plurality of touch sensors arearranged to generate electrical signals that indicate by which hand theuser holds the input device.
 28. The input device of claim 26 whereinthe touch sensors are arranged to generate electrical signals thatindicate if the user is touching two opposing sides of the input device.29. The input device of claim 26 wherein the touch sensors are arrangedto generate electrical signals that indicate if the user has stroked aportion of the input device.
 30. The input device of claim 29 whereinthe touch sensors are arranged in strips along the input device.
 31. Aninput device for a computer system, the input device comprising: atransducer, capable of converting a force into an electrical signal; anda touch sensor, capable of providing a touch signal decoupled fromposition data when the touch sensor is touched.
 32. The input device ofclaim 31 wherein the touch sensor is a contact sensor.
 33. The inputdevice of claim 31 wherein the touch sensor is a proximity sensor.